package com.wisdytech.linkdcs.configuration.service;

import com.baomidou.mybatisplus.service.IService;
import com.github.pagehelper.PageInfo;
import com.wisdytech.common.bean.Filter;
import com.wisdytech.linkdcs.configuration.dto.ConfigurationEqDto;
import com.wisdytech.linkdcs.configuration.model.TtEqConfiguration;
import com.wisdytech.linkdcs.system.model.SysUser;

import java.util.List;
import java.util.Map;

/**
 * <p>
 *  组态服务
 * </p>
 *
 * @author dlb
 * @since 2018-05-07
 */
public interface ITtEqConfigurationService  {
	
	/**
	 * 根据组态记录id查找记录中的设备信息与对应的参数信息
	 * @param id 组态记录id
	 * @return 组态设备信息对象
	 */
	public List<ConfigurationEqDto> getConfigurationEqLists(String id);
	
	/**
	 * 根据组态记录id查找记录中的设备信息与对应的参数信息
	 * @param ttEqConfiguration 组态记录对象
	 * @return 组态设备信息对象
	 */
	public List<ConfigurationEqDto> getConfigurationEqLists(TtEqConfiguration ttEqConfiguration);


	/**
	 *
	 * @param code 组态编码
	 * @param locationId 关联Id
	 * @return PageInfo
	 */
	PageInfo<Map<String, Object>> listConfigurationByFilter(String type, String code,String factoryId, String locationId,Filter filter,String configurationType);

	/**
	 *
	 * @param ttEqConfiguration 实体类
	 * @param user 操作人
	 */
	void saveOrUpdateConfiguration(TtEqConfiguration ttEqConfiguration, SysUser user);

	/**
	 *
	 * @param pkId 主键
	 * @return map
	 */
	Map<String, Object> getConfigurationById(String pkId);

	/**
	 *
	 * @param pkIds 主键用逗号隔开
	 */
	void deleteConfiguration(String pkIds);
	
	/**
	 * 保存组态json
	 * @param id 记录id
	 * @param json 组态json
	 * @return
	 */
	public boolean saveConfiguration(String id,String json);
	
	/**
	 * 根据唯一id查询组态信息
	 * @param pkId 唯一id
	 * @return 组态信息
	 */
	public TtEqConfiguration getConfigurationObjById(String pkId);
	
	
	/**
	 * 根据区域id查找组态记录
	 * @param locationId
	 * @return
	 */
	public List<TtEqConfiguration> listConfiguration(String locationId,String configurationType);
	
	

}
